// pages/mine/login/login.js
import Toast from '../../../miniprogram_npm/_vant-weapp@0.5.18@vant-weapp/toast/toast';
const util = require('../../../utils/util.js')
const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    isAuthorized: true, // 是否已经授权
    tel:                  null, //手机号
    pwd:               null //密码
  },
  /**
   * 生命周期函数--监听页面加载,查询是否授权
   */
  onLoad: function (options) {
    let self = this
    wx.getSetting({
      success(res) {
        self.setData({
          isAuthorized: res.authSetting['scope.userInfo'] || false
        })
        // 已授权 重新获取用户信息
        if (res.authSetting['scope.userInfo']) {
          wx.getUserInfo({
            success(res) {
              wx.setStorageSync('userInfo', res.userInfo)
            }
          })
        }
      }
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    
  },

  /**
   * 生命周期函数--监听页面显示, 
   */
  onShow: function () {
    
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
  /**
   * 数据更改
   */
  onChange(e) {
    this.setData({
      [e.currentTarget.dataset.prop]: e.detail
    })
  },
  /**
   * 用户成功授权回调 保存至当前页面的userInfo的同时 也需要保存到storage中
   */
  onGotUserInfo(info) {
    this.setData({
      'userInfo': JSON.parse(info.detail.rawData),
      isAuthorized: true
    })
    wx.setStorageSync('userInfo', JSON.parse(info.detail.rawData))
    if(wx.getStorageSync('token')) { // 已经登陆过了 跳过登录
      wx.reLaunch({
        url: '/pages/index/index',
      })
    }
  },
  /**
   *  登录
   */
  login() {
    const self = this
    if (!(this.data.tel && this.data.pwd)) {
      Toast('登录信息填写不完整~');
    } else {
      // 通过微信login来获取code
      wx.login({
        success(res) {
          if (res.code) {
            // 发起登录请求
            app.globalData.request('post', 'applet/admin_login/login', {
              admin_tel:    self.data.tel,
              admin_pwd: self.data.pwd,
              code:            res.code,
              nickName:   wx.getStorageSync('userInfo').nickName,
              gender:        wx.getStorageSync('userInfo').gender,
              avatarUrl:     wx.getStorageSync('userInfo').avatarUrl,
            }).then(res => {
              // 保存 token 手机号等 信息
              wx.setStorageSync('token', res.data)
              wx.setStorageSync('id', res.data.split('_')[0])
              wx.setStorageSync('tel', self.data.tel)
              wx.setStorageSync('extra', res.add_extra)
              wx.setStorageSync('auth', res.extra)
              wx.showToast({ title: '登陆中...', icon: 'loading' })
              setTimeout(_ => {
                wx.reLaunch({
                  url: '/pages/index/index'
                })
              }, 1000)
            }).catch(err => {})
          } else {
            console.log('微信认证失败！无法登录' + res.errMsg)
          }
        },
        fail(error) {}
      })
    }
  }
})